package com.zw.mes.module.transpositionManager.controller;

import com.zw.mes.base.BaseController;
import com.zw.mes.common.JsonResult;
import com.zw.mes.entity.sys.User;
import com.zw.mes.module.transpositionManager.model.*;
import com.zw.mes.module.transpositionManager.service.TranspositionApplyCheckService;
import com.zw.mes.util.ShiroUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @className: TranspositionCutController
 * @description: 生产转序下料维护控制层
 * @author： 徐一贺 18341916590
 * @date： 2021/4/16 16:46
 * @office: 智能控制设计科
 * @research institute： 智能控制设计所
 * @department： 机械设计院
 * @company: 辽宁忠旺机械设备制造有限公司
 * @group： 忠旺集团
 * @version: 1.0
 */
@Controller
@RequestMapping("/transposition/transpositionRec")
public class TranspositionReceiveController extends BaseController {
    @Autowired
    private TranspositionApplyCheckService service;

    /**
     * @methodName: page
     * @description: 跳转到转序接收页面
     * @param:
     * @return： java.lang.String
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/23 12:40
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @GetMapping
    @RequiresPermissions("tran:receive:view")
    public String page(Model model) {
        User user = service.getUserInfoByPrimaryKey(ShiroUtils.getUserId());
        model.addAttribute("user", user);
        return "/transposition/receive/page";
    }

    /**
     * @methodName: getRecProdNoList
     * @description: 获取接收的生产令列表
     * @param:
     * @return： java.util.List<com.zw.mes.module.transpositionManager.model.Select2Model>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/11 15:23
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/getRecProdNoList")
    public JsonResult getRecProdNoList(String prodNo) {
        return success().setData(service.getRecProdNoList(prodNo));
    }
    /**
     * @methodName: getRecProdNoSpecialList
     * @description: 获取接收的类型列表
     * @param: prodNo
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 8:52
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/getRecProdNoSpecialList")
    public JsonResult getRecProdNoSpecialList(String prodNo) {
        return success().setData(service.getRecProdNoSpecialList(prodNo));
    }
    /**
     * @methodName: getRecProdNoPartList
     * @description: 获取接收的部分列表
     * @param: prodNo
     * @param: special
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 9:00
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/getRecProdNoPartList")
    public JsonResult getRecProdNoPartList(String prodNo,String special) {
        return success().setData(service.getRecProdNoPartList(prodNo,special));
    }
    /**
     * @methodName: getRecProdNoDrawNoList
     * @description: 获取接收的图号列表
     * @param: prodNo
     * @param: special
     * @param: partId
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/12 9:17
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/getRecProdNoDrawNoList")
    public JsonResult getRecProdNoDrawNoList(String prodNo,String special,Integer partId) {
        return success().setData(service.getRecProdNoDrawNoList(prodNo,special,partId));
    }
    /**
     * @methodName: list
     * @description: 获取转序信息
     * @param: param
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/23 15:36
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/list")
    @RequiresPermissions("tran:receive:view")
    public JsonResult list(TransferReceiveModel param) {
        //startPage();
        return jsonResult(service.findRecListByParam(param));
    }

    /**
     * @methodName: getProjectAndProdOrdInfo
     * @description: 获取项目和生产令信息
     * @param: QRCode
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/5/7 9:17
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/getProjectAndProdOrdInfo")
    public JsonResult getProjectAndProdOrdInfo(String qrCode) {
        return success().setData(service.getProjectAndProdOrdInfo(qrCode));
    }



    /**
     * @methodName: 接收转序
     * @description: rec
     * @param: route
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/27 13:15
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/rec")
    @RequiresPermissions("tran:receive:edit")
    public JsonResult rec(FlowTransModel trans) {
        return service.rec(trans);
    }
}
